//package com.hurried1y.utils;
//
//import com.hurried1y.exception.SystemException;
//import com.hurried1y.model.LoginUser;
//import org.springframework.security.core.Authentication;
//import org.springframework.security.core.context.SecurityContextHolder;
//import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
//
///**
// * @author Hurried1y
// * @since 2023/6/24 14:53
// *
// * 安全工具类
// */
//public class SecurityUtils {
//
//    public static Long getUserId() {
//        try {
//            return getLoginUser().getUserId();
//        } catch (Exception e){
//            throw new SystemException("获取用户ID异常");
//        }
//    }
//
//    public static LoginUser getLoginUser() {
//        return (LoginUser) getAuthentication().getPrincipal();
//    }
//
//    public static Authentication getAuthentication() {
//        return SecurityContextHolder.getContext().getAuthentication();
//    }
//
//    /**
//     * 加密密码
//     * @param password 密码
//     * @return 加密后的密码
//     */
//    public static String encryptPassword(String password) {
//        BCryptPasswordEncoder encoder = new BCryptPasswordEncoder();
//        return encoder.encode(password);
//    }
//
//    /**
//     * 判断密码是否相同
//     * @param password 密码
//     * @param encodedPassword 加密后的密码
//     * @return 是否相同
//     */
//    public static boolean matchesPassword(String password, String encodedPassword) {
//        BCryptPasswordEncoder encoder = new BCryptPasswordEncoder();
//        return encoder.matches(password, encodedPassword);
//    }
//
//    /**
//     * 判断是否为管理员
//     * @param userId 用户ID
//     * @return 是否为管理员
//     */
//    public static boolean isAdmin(Long userId) {
//        return userId != null && 1L == userId;
//    }
//}
